package com.base.base

import android.app.Activity
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView

/**
 * RecyclerHolder 基类
 * @param parent Item父布局
 * @param activity 视图窗口 如果需要在holder中改变窗口事务可以传一个对应窗口实例用来操作
 * @param adapter 该Holder所属父类适配器 传递实例用来调用移除刷新等操作
 * @param options 预留标志操作位  可自定义操作
 */
class IHolder constructor(parent : ViewGroup,val layoutRes: Int,var adapter: IAdapter?,var activity : Activity?, var options: Any?)
    : RecyclerView.ViewHolder(LayoutInflater.from(parent.context).inflate(layoutRes,parent,false)){

    /**
     * 初始化视图 向Item中填充布局 设置视图宽高 设置父布局点击监听
     */
    init {
        initLayout()
        initListener()
    }


    /**
     * 初始化布局
     */
    open fun initLayout(){}

    /**
     * 初始化监听器
     */
    open fun initListener(){}

    /**
     * 绑定数据
     */
    open fun bindData(any: Any?){}

}